package cn.tedu.api;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Locale;

/**
 * Date：2021年10月
 * Author：程Sir
 * Name： JavaSE-API
 * Content:
 *
 *      DateTimeFormatter是专门用于对LocalDateTime进行自定义日期时间格式化输出的
 *      jdk1.8之后出的！
 *
 */
public class DateTimeFormatterDemo {
    public static void main(String[] args) {
        /*
                将日期时间进行格式化：  LocalDateTime -》 String
         */
        // 创建日期时间对象
        LocalDateTime localDateTime = LocalDateTime.now();

        // 创建格式化类
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.CHINA);

        // 调用格式化方法
        String time = dateTimeFormatter.format(localDateTime);
        System.out.println("日期时间格式化："+time);


        /*
                将时间文本对象解析为时间对象 ： String -》 LocalDateTime
         */
        String str = "2020-11-30 15:16:17";
        // 将指定好的String进行解析
        LocalDateTime dateTime = LocalDateTime.parse(str,dateTimeFormatter);

        System.out.println("解析之后的时间："+dateTime);


        /*
            LocalDateTime是支持链式调用的
         */
        // 指定了一个时间
        LocalDateTime dt = LocalDateTime.of(2020,10,26,20,30,59);
        System.out.println("指定的时间："+dt);

        // 在指定的时间基础之上，加5天，减去3小时
        LocalDateTime dt1 = dt.plusDays(5).minusHours(3); // 链式调用
        System.out.println(dt1);

        // 减一个月
        LocalDateTime dt2 = dt1.minusMonths(1);
        System.out.println(dt2);









    }
}
